<?php
/**
 * Auto generated from AmsProto.proto at 2017-01-11 15:25:16
 *
 * com.hikvision.cms.mq.activemq package
 */

namespace Task\Core\Protobuf\Com\Hikvision\Cms\Mq\Activemq {
/**
 * AccessEventLog message
 */
class AccessEventLog extends \ProtobufMessage
{
    /* Field index constants */
    const AC_EVENT_ID = 1;
    const EVENT_TYPE = 2;
    const EVENT_NAME = 3;
    const EVENT_TIME = 4;
    const EVENT_CODE = 5;
    const LOG_TXT = 6;
    const DEVICE_ID = 7;
    const DEVICE_TYPE = 8;
    const DEVICE_NAME = 9;
    const DOOR_NAME = 10;
    const DOOR_ID = 11;
    const EVENT_CARD = 12;
    const PERSON_ID = 13;
    const PERSON_NAME = 14;
    const DEPT_ID = 15;
    const DEPT_NAME = 16;
    const DEPT_CODE = 17;
    const DEVICEL1_ID = 18;
    const DEVICEL1_TYPE = 19;
    const DEVICEL1_NAME = 20;
    const DEVICEL2_ID = 21;
    const DEVICEL2_TYPE = 22;
    const DEVICEL2_NAME = 23;
    const DEVICEL3_ID = 24;
    const DEVICEL3_TYPE = 25;
    const DEVICEL3_NAME = 26;
    const IN_OUT = 27;
    const STATE = 28;
    const TRIGGER_RECORD = 29;
    const REMARK = 30;

    /* @var array Field descriptors */
    protected static $fields = array(
        self::AC_EVENT_ID => array(
            'name' => 'ac_event_id',
            'required' => true,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::EVENT_TYPE => array(
            'name' => 'event_type',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::EVENT_NAME => array(
            'name' => 'event_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::EVENT_TIME => array(
            'name' => 'event_time',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::EVENT_CODE => array(
            'name' => 'event_code',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::LOG_TXT => array(
            'name' => 'log_txt',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DEVICE_ID => array(
            'name' => 'device_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICE_TYPE => array(
            'name' => 'device_type',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICE_NAME => array(
            'name' => 'device_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DOOR_NAME => array(
            'name' => 'door_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DOOR_ID => array(
            'name' => 'door_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::EVENT_CARD => array(
            'name' => 'event_card',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::PERSON_ID => array(
            'name' => 'person_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::PERSON_NAME => array(
            'name' => 'person_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DEPT_ID => array(
            'name' => 'dept_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEPT_NAME => array(
            'name' => 'dept_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DEPT_CODE => array(
            'name' => 'dept_code',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DEVICEL1_ID => array(
            'name' => 'deviceL1_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICEL1_TYPE => array(
            'name' => 'deviceL1_type',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICEL1_NAME => array(
            'name' => 'deviceL1_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DEVICEL2_ID => array(
            'name' => 'deviceL2_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICEL2_TYPE => array(
            'name' => 'deviceL2_type',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICEL2_NAME => array(
            'name' => 'deviceL2_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::DEVICEL3_ID => array(
            'name' => 'deviceL3_id',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICEL3_TYPE => array(
            'name' => 'deviceL3_type',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::DEVICEL3_NAME => array(
            'name' => 'deviceL3_name',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
        self::IN_OUT => array(
            'name' => 'in_out',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::STATE => array(
            'name' => 'state',
            'required' => true,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::TRIGGER_RECORD => array(
            'name' => 'trigger_record',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_INT,
        ),
        self::REMARK => array(
            'name' => 'remark',
            'required' => false,
            'type' => \ProtobufMessage::PB_TYPE_STRING,
        ),
    );

    /**
     * Constructs new message container and clears its internal state
     */
    public function __construct()
    {
        $this->reset();
    }

    /**
     * Clears message values and sets default ones
     *
     * @return null
     */
    public function reset()
    {
        $this->values[self::AC_EVENT_ID] = null;
        $this->values[self::EVENT_TYPE] = null;
        $this->values[self::EVENT_NAME] = null;
        $this->values[self::EVENT_TIME] = null;
        $this->values[self::EVENT_CODE] = null;
        $this->values[self::LOG_TXT] = null;
        $this->values[self::DEVICE_ID] = null;
        $this->values[self::DEVICE_TYPE] = null;
        $this->values[self::DEVICE_NAME] = null;
        $this->values[self::DOOR_NAME] = null;
        $this->values[self::DOOR_ID] = null;
        $this->values[self::EVENT_CARD] = null;
        $this->values[self::PERSON_ID] = null;
        $this->values[self::PERSON_NAME] = null;
        $this->values[self::DEPT_ID] = null;
        $this->values[self::DEPT_NAME] = null;
        $this->values[self::DEPT_CODE] = null;
        $this->values[self::DEVICEL1_ID] = null;
        $this->values[self::DEVICEL1_TYPE] = null;
        $this->values[self::DEVICEL1_NAME] = null;
        $this->values[self::DEVICEL2_ID] = null;
        $this->values[self::DEVICEL2_TYPE] = null;
        $this->values[self::DEVICEL2_NAME] = null;
        $this->values[self::DEVICEL3_ID] = null;
        $this->values[self::DEVICEL3_TYPE] = null;
        $this->values[self::DEVICEL3_NAME] = null;
        $this->values[self::IN_OUT] = null;
        $this->values[self::STATE] = null;
        $this->values[self::TRIGGER_RECORD] = null;
        $this->values[self::REMARK] = null;
    }

    /**
     * Returns field descriptors
     *
     * @return array
     */
    public function fields()
    {
        return self::$fields;
    }

    /**
     * Sets value of 'ac_event_id' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setAcEventId($value)
    {
        return $this->set(self::AC_EVENT_ID, $value);
    }

    /**
     * Returns value of 'ac_event_id' property
     *
     * @return string
     */
    public function getAcEventId()
    {
        $value = $this->get(self::AC_EVENT_ID);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'event_type' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setEventType($value)
    {
        return $this->set(self::EVENT_TYPE, $value);
    }

    /**
     * Returns value of 'event_type' property
     *
     * @return integer
     */
    public function getEventType()
    {
        $value = $this->get(self::EVENT_TYPE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'event_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setEventName($value)
    {
        return $this->set(self::EVENT_NAME, $value);
    }

    /**
     * Returns value of 'event_name' property
     *
     * @return string
     */
    public function getEventName()
    {
        $value = $this->get(self::EVENT_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'event_time' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setEventTime($value)
    {
        return $this->set(self::EVENT_TIME, $value);
    }

    /**
     * Returns value of 'event_time' property
     *
     * @return string
     */
    public function getEventTime()
    {
        $value = $this->get(self::EVENT_TIME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'event_code' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setEventCode($value)
    {
        return $this->set(self::EVENT_CODE, $value);
    }

    /**
     * Returns value of 'event_code' property
     *
     * @return integer
     */
    public function getEventCode()
    {
        $value = $this->get(self::EVENT_CODE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'log_txt' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setLogTxt($value)
    {
        return $this->set(self::LOG_TXT, $value);
    }

    /**
     * Returns value of 'log_txt' property
     *
     * @return string
     */
    public function getLogTxt()
    {
        $value = $this->get(self::LOG_TXT);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'device_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceId($value)
    {
        return $this->set(self::DEVICE_ID, $value);
    }

    /**
     * Returns value of 'device_id' property
     *
     * @return integer
     */
    public function getDeviceId()
    {
        $value = $this->get(self::DEVICE_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'device_type' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceType($value)
    {
        return $this->set(self::DEVICE_TYPE, $value);
    }

    /**
     * Returns value of 'device_type' property
     *
     * @return integer
     */
    public function getDeviceType()
    {
        $value = $this->get(self::DEVICE_TYPE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'device_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDeviceName($value)
    {
        return $this->set(self::DEVICE_NAME, $value);
    }

    /**
     * Returns value of 'device_name' property
     *
     * @return string
     */
    public function getDeviceName()
    {
        $value = $this->get(self::DEVICE_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'door_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDoorName($value)
    {
        return $this->set(self::DOOR_NAME, $value);
    }

    /**
     * Returns value of 'door_name' property
     *
     * @return string
     */
    public function getDoorName()
    {
        $value = $this->get(self::DOOR_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'door_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDoorId($value)
    {
        return $this->set(self::DOOR_ID, $value);
    }

    /**
     * Returns value of 'door_id' property
     *
     * @return integer
     */
    public function getDoorId()
    {
        $value = $this->get(self::DOOR_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'event_card' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setEventCard($value)
    {
        return $this->set(self::EVENT_CARD, $value);
    }

    /**
     * Returns value of 'event_card' property
     *
     * @return string
     */
    public function getEventCard()
    {
        $value = $this->get(self::EVENT_CARD);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'person_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setPersonId($value)
    {
        return $this->set(self::PERSON_ID, $value);
    }

    /**
     * Returns value of 'person_id' property
     *
     * @return integer
     */
    public function getPersonId()
    {
        $value = $this->get(self::PERSON_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'person_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setPersonName($value)
    {
        return $this->set(self::PERSON_NAME, $value);
    }

    /**
     * Returns value of 'person_name' property
     *
     * @return string
     */
    public function getPersonName()
    {
        $value = $this->get(self::PERSON_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'dept_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeptId($value)
    {
        return $this->set(self::DEPT_ID, $value);
    }

    /**
     * Returns value of 'dept_id' property
     *
     * @return integer
     */
    public function getDeptId()
    {
        $value = $this->get(self::DEPT_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'dept_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDeptName($value)
    {
        return $this->set(self::DEPT_NAME, $value);
    }

    /**
     * Returns value of 'dept_name' property
     *
     * @return string
     */
    public function getDeptName()
    {
        $value = $this->get(self::DEPT_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'dept_code' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDeptCode($value)
    {
        return $this->set(self::DEPT_CODE, $value);
    }

    /**
     * Returns value of 'dept_code' property
     *
     * @return string
     */
    public function getDeptCode()
    {
        $value = $this->get(self::DEPT_CODE);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'deviceL1_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceL1Id($value)
    {
        return $this->set(self::DEVICEL1_ID, $value);
    }

    /**
     * Returns value of 'deviceL1_id' property
     *
     * @return integer
     */
    public function getDeviceL1Id()
    {
        $value = $this->get(self::DEVICEL1_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'deviceL1_type' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceL1Type($value)
    {
        return $this->set(self::DEVICEL1_TYPE, $value);
    }

    /**
     * Returns value of 'deviceL1_type' property
     *
     * @return integer
     */
    public function getDeviceL1Type()
    {
        $value = $this->get(self::DEVICEL1_TYPE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'deviceL1_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDeviceL1Name($value)
    {
        return $this->set(self::DEVICEL1_NAME, $value);
    }

    /**
     * Returns value of 'deviceL1_name' property
     *
     * @return string
     */
    public function getDeviceL1Name()
    {
        $value = $this->get(self::DEVICEL1_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'deviceL2_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceL2Id($value)
    {
        return $this->set(self::DEVICEL2_ID, $value);
    }

    /**
     * Returns value of 'deviceL2_id' property
     *
     * @return integer
     */
    public function getDeviceL2Id()
    {
        $value = $this->get(self::DEVICEL2_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'deviceL2_type' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceL2Type($value)
    {
        return $this->set(self::DEVICEL2_TYPE, $value);
    }

    /**
     * Returns value of 'deviceL2_type' property
     *
     * @return integer
     */
    public function getDeviceL2Type()
    {
        $value = $this->get(self::DEVICEL2_TYPE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'deviceL2_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDeviceL2Name($value)
    {
        return $this->set(self::DEVICEL2_NAME, $value);
    }

    /**
     * Returns value of 'deviceL2_name' property
     *
     * @return string
     */
    public function getDeviceL2Name()
    {
        $value = $this->get(self::DEVICEL2_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'deviceL3_id' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceL3Id($value)
    {
        return $this->set(self::DEVICEL3_ID, $value);
    }

    /**
     * Returns value of 'deviceL3_id' property
     *
     * @return integer
     */
    public function getDeviceL3Id()
    {
        $value = $this->get(self::DEVICEL3_ID);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'deviceL3_type' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setDeviceL3Type($value)
    {
        return $this->set(self::DEVICEL3_TYPE, $value);
    }

    /**
     * Returns value of 'deviceL3_type' property
     *
     * @return integer
     */
    public function getDeviceL3Type()
    {
        $value = $this->get(self::DEVICEL3_TYPE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'deviceL3_name' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setDeviceL3Name($value)
    {
        return $this->set(self::DEVICEL3_NAME, $value);
    }

    /**
     * Returns value of 'deviceL3_name' property
     *
     * @return string
     */
    public function getDeviceL3Name()
    {
        $value = $this->get(self::DEVICEL3_NAME);
        return $value === null ? (string)$value : $value;
    }

    /**
     * Sets value of 'in_out' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setInOut($value)
    {
        return $this->set(self::IN_OUT, $value);
    }

    /**
     * Returns value of 'in_out' property
     *
     * @return integer
     */
    public function getInOut()
    {
        $value = $this->get(self::IN_OUT);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'state' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setState($value)
    {
        return $this->set(self::STATE, $value);
    }

    /**
     * Returns value of 'state' property
     *
     * @return integer
     */
    public function getState()
    {
        $value = $this->get(self::STATE);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'trigger_record' property
     *
     * @param integer $value Property value
     *
     * @return null
     */
    public function setTriggerRecord($value)
    {
        return $this->set(self::TRIGGER_RECORD, $value);
    }

    /**
     * Returns value of 'trigger_record' property
     *
     * @return integer
     */
    public function getTriggerRecord()
    {
        $value = $this->get(self::TRIGGER_RECORD);
        return $value === null ? (integer)$value : $value;
    }

    /**
     * Sets value of 'remark' property
     *
     * @param string $value Property value
     *
     * @return null
     */
    public function setRemark($value)
    {
        return $this->set(self::REMARK, $value);
    }

    /**
     * Returns value of 'remark' property
     *
     * @return string
     */
    public function getRemark()
    {
        $value = $this->get(self::REMARK);
        return $value === null ? (string)$value : $value;
    }
}
}